<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>
    <style>
        html,
        body {
            margin: 0px;
            padding: 0px;
        }

        .header {
            background-color: orange;
            height: 80px;
        }

        h1 {
            padding: 0px;
            margin: 0px;
            font-size: 100%;
        }

        .container {
            display: flex;
            height: 500px;
        }

        .left {
            background-color: lightgreen;
            flex: 2;
        }

        .main {
            background-color: pink;
            flex: 8;
        }
    </style>
</head>

<body>
    <div id="app">
        <router-view>
        </router-view>
        <div class="container">
            <router-view name="left">
            </router-view>
            <router-view name="main">
            </router-view>
        </div>
    </div>
    <script>
        var header = {
            template: '<h1 class="header">Header头部区域</h1>'
        }
        var leftBox = {
            template: '<h1 class="left">Left侧边栏区域</h1>'
        }
        var mainBox = {
            template: '<h1 class="main">main主体区域</h1>'
        }
        // 创建路由对象
        var router = new VueRouter({
            routes: [
                // {
                // path: '/',
                // component: header
                // }, {
                // path: '/left',
                // component: leftBox
                // }, {
                // path: '/main',
                // component: mainBox
                // }
                {
                    path: '/',
                    components: {
                        'default': header,
                        'left': leftBox,
                        'main': mainBox
                    }
                }
            ]
        })
        var vm = new Vue({
            el: '#app',
            data: {},
            methods: {},
            router
        });
    </script>
</body>

</html>